package org.NooLab.docserver.properties;

import org.NooLab.docserver.main.DocumentObserverFactory;
import org.NooLab.docserver.util.FileOrganizer;




public abstract class DocoAppPropertiesAbstract implements DocoAppGeneralPropertiesIntf {

	
	protected transient static SettingsTransporter settingsTransporter;

	transient protected FileOrganizer fileOrganizer;;

	protected static PersistenceSettings persistenceSettings;
	private DocoAppGeneralPropertiesIntf docoAppGeneralProperties;
	protected DocumentObserverProperties docoProperties;

	protected String dataSrcFilename = "";

	//protected String systemRootDir;
	protected static String systemRootDir ="";
	protected boolean observeOnlyUsedDirectories;
	protected String dataStorageName ="";


	protected String supervisedDirectory = "";
	protected String algorithmsConfigPath = "";

	protected DocumentObserverFactory docoFactory;
	protected int workerType;
	protected int multiProcessingLevel;
	
	protected String applicationContext = "" ;

	// ========================================================================
	public DocoAppPropertiesAbstract() {

		FileOrganizer fileorg = new FileOrganizer();
	}

	// ========================================================================

	@Override
	public DocumentObserverProperties getSelfReference() {

		return docoProperties;
	}

	@Override
	public FileOrganizer getFileOrganizer() {
		//
		return fileOrganizer;
	}

	@Override
	public int getMultiProcessingLevel() {

		return multiProcessingLevel;
	}

	@Override
	public DocumentObserverFactory getDocoFactory() {
		//
		return docoFactory;
	}
	

	public PersistenceSettings getPersistenceSettings() {
		return persistenceSettings ;
	}

	@Override
	public void setPersistenceSettings(PersistenceSettings ps) {
		persistenceSettings = ps ;
	}


	@Override
	public int getWorkerType() {
		return workerType;
	}
	

	public void setWorkerType(int value) {
		workerType = value;
	}

	@Override
	public String getDataSrcFilename() {
		return dataSrcFilename;
	}

	public String getDataSourceFilename() {
		return dataSrcFilename;
	}

	public String getApplicationContext() {
		return applicationContext;
	}

	public void setApplicationContext(String applicationContext) {
		this.applicationContext = applicationContext;
	}


}
